import axios from "axios";
import { ElMessage } from 'element-plus';

// 创建 axios 实例
const service = axios.create({
    baseURL: 'http://127.0.0.1:8080', // 设置基础URL
    timeout: 5000 // 请求超时时间
});

// 请求拦截器
service.interceptors.request.use(
    config => {
        if (!config.headers['Content-Type']) {
            config.headers['Content-Type'] = 'application/json';
        }
        // 从 localStorage 获取 token
        const token = localStorage.getItem('token');
        // console.log(token);
        if (token) {
            // 将 token 添加到请求头
            config.headers['token'] = `${token}`;
        }
        // console.log(config);
        return config;
    },
    error => {
        // 请求错误处理
        return Promise.reject(error);
    }
);

service.interceptors.response.use(
    response => {
        // 从响应数据中获取 message
        const { message } = response.data;
        if (message) {
            // console.log('message:', message);
            ElMessage({
                message: message,
                type: 'success',
            });
        }
        return response;
    },
    error => {
        // 处理响应错误
        if (error.response && error.response.data) {
            console.error('Error message:', error.response.data.message);

        } else {
            console.error('Error:', error.message);
        }
        return Promise.reject(error);
    
    })

export default service;

